package cn.iocoder.yudao.module.member.vip.dal.dataobject;

import cn.iocoder.yudao.framework.business.eligibility.pojo.po.EligibilityOrderEntity;
import cn.iocoder.yudao.module.api.member.vip.enums.VipTypeEnum;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 会员卡订单 DO
 *
 * @author 山野羡民
 */
@TableName("member_vip_order")
@KeySequence("member_vip_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@NoArgsConstructor
public class VipOrderDO extends EligibilityOrderEntity {

    /**
     * 类型
     *
     * @see VipTypeEnum
     */
    private Integer type;
    /**
     * 类型名称
     */
    @TableField(exist = false)
    private String typeName;

    @SuppressWarnings("unused")
    public String getTypeName() {
        return VipTypeEnum.valueOf(getType()).getName();
    }

    /**
     * 来源店铺编号
     */
    private Long fromShopId;
    /**
     * 会员卡编号
     */
    private Long cardId;

    @Override
    public void setBizId(Long bizId) {
        this.cardId = bizId;
    }

    @Override
    public Long getBizId() {
        return cardId;
    }

    /**
     * 附赠积分数量
     */
    private Integer givePoint;

    /**
     * 是否续期
     */
    private Boolean renewal;

}